//引入发送请求的方法
import {request} from "../../request/index.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs: [{
        id: 0,
        value: '综合',
        isActive: true
      },
      {
        id: 1,
        value: '销量',
        isActive: false
      },
      {
        id: 2,
        value: '价格',
        isActive: false
      }
    ],
    goodsList: []
  },
  //接口要的参数
  QueryParams: {
    query: '',
    cid: '',
    pagenum: 1,
    pagesize: 10
  },
  //总页数
  totalpages: 1,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // console.log(options);
    this.QueryParams.cid = options.cid ||''
    this.QueryParams.query = options.query ||''
    this.getGoodsList()
  },
  //获取商品列表的数据
  async getGoodsList() {
    const res = await request({
      url: '/goods/search',
      data: this.QueryParams
    })
    console.log(res.data.message);
    //获取总条数
    const total = res.data.message.total
    //计算总页数 
    this.totalpages = Math.ceil(total / this.QueryParams.pagesize)
    //获取一共有多少页
    console.log(this.totalpages);
    this.setData({
      //拼接数组
      goodsList: [...res.data.message.goods, ...this.data.goodsList]
    })
    //关闭下拉刷新的列表
    wx.stopPullDownRefresh()
  },
  //从子组件传过来
  handleTabsItemChange(e) {
    // console.log(e);
    //1.获取点击的索引
    const {index} = e.detail
    // 2.修改原数组
    console.log(this.data);
    let {tabs} = this.data
    //
    tabs.forEach((v, i) => i == index ? v.isActive = true : v.isActive = false);
    this.setData({
      tabs
    })
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.QueryParams.pagenum >= this.totalpages) {
      //没有下一页数据
      // console.log("没有下一页数据");
      wx.showToast({
        title: '没有下一页数据',
      })
    } else {
      //还有下一页数据
      // console.log("有下一页数据");
      this.QueryParams.pagenum++;
      this.getGoodsList();
    }
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   * 用户下拉刷新
   */
  onPullDownRefresh: function () {
    //重置数组
    this.setData({
      goodsList:[]
    })
    //重置页码
    this.QueryParams.pagenum=1
    //发送请求
    this.getGoodsList()
  },
})